<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="../../vue.js"></script>
</head>

<body>
  <!-- 
    v-show：
       v-show 指令 根据条件决定是否展示元素
       和v-if不同的是带有v-show的元素始终会被渲染并保留在DOM中 v-show 只是简单的切换元素的CSS的display属性
       不能在<template> 元素上使用 v-show条件展示
   -->
  <div id="app">
    <button @click="isShow=!isShow">切换</button>
    <div v-show="isShow">
      <h1>今天的天气真好</h1>
      <h2>非常适合去郊游</h2>
    </div>
    <div v-show="!isShow">
      <h1>今天的天气真冷</h1>
      <h2>非常适合在家里睡觉</h2>
    </div>
  </div>
  <script>
    /* 
        v-show和v-if的区别
            v-if是真正的条件渲染 因为它会确保在切换过程条件块内的事件监听器和子组件适当的被销毁和重建
            v-if是惰性的 如果在初始渲染时条件为假 则什么也不做一直到条件第一次变为真时 才会开始渲染条件块
            相比之下 v-show 就简单的多 不管初始条件是什么 元素总是会被渲染 并且只是简单的基于CSS进行切换

          一般来说 v-if 有更高的切换开销 而v-show有更高的初始渲染开销 因此 如果需要非常频繁的切换 则使用 v-show 较好  如果在运行时条件很少改变 则使用v-if较好
    */
    const vm = new Vue({
      el: "#app",
      data() {
        return {
          isShow: true
        };
      }
    })
  </script>
</body>

</html>